Many computing systems are implemented using multiple different types of memory and storage, including local volatile memory to enable access at high speeds for frequently or recently used information. Instead, infrequently used information may be stored in more distant portions of a storage hierarchy, oftentimes in a non-volatile storage. System complexity increases difficulties in accessing these different types of memories, which often have different characteristics, including different access techniques, error handling techniques and so forth.